package com.bmslz.monitor.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bmslz.monitor.base.entity.Project;
import com.bmslz.monitor.base.entity.ProjectAlarm;
import com.bmslz.monitor.base.entity.ProjectData;

import java.util.List;

/**
 * @Description: 项目告警
 * @Author: bobo
 * @Date: 2025-08-10
 * @Version: V1.0
 */
public interface IProjectAlarmService extends IService<ProjectAlarm> {
    /**
     * 处理探针数据
     *
     * @param projectDataList 元数据列表
     * @param project         项目
     */
    void handle(List<ProjectData> projectDataList, Project project);

    /**
     * 处理探针数据
     *
     * @param projectData 单个元数据
     * @param project     项目
     */
    void handle(ProjectData projectData, Project project);

    /**
     * 异步处理探针数据
     *
     * @param projectDataList 元数据列表
     * @param project         项目
     */
    void handleAsync(List<ProjectData> projectDataList, Project project);

    /**
     * 查询项目当前正在告警中的数据
     *
     * @param projectNo 项目编号
     * @param attKey    测点
     * @return
     */
    List<ProjectAlarm> alarmIng(String projectNo, String attKey);

    /**
     * 查询项目当前正在告警中的数据
     *
     * @param projectId 项目id
     * @param attKey    测点
     * @return
     */
    List<ProjectAlarm> alarmIngByProjectId(String projectId, String attKey);

    Long totalIng();
}
